package com.zsc.edu.testlistview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    List<MyItem> mMyItemList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化数据list
        initMyItemList();

        ListView listView = findViewById(R.id.listview);

        // 初始化适配器
        ListViewAdapter listAdapter = new ListViewAdapter(this,
                R.layout.item, // 单项布局id
                mMyItemList); // 数据list

        // listview 设置适配器
        listView.setAdapter(listAdapter);

        // 增加 item 被点中的响应，类似 Button 的操作
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // position 当前被点中的item的位置
                int real_pos = position + 1;  // position 从0开始
                Toast.makeText(MainActivity.this, "当前点中第" + real_pos  + "个item",
                        Toast.LENGTH_SHORT).show();

                MyItem myItem = mMyItemList.get(position);
                Toast.makeText(MainActivity.this, myItem.getString_id(),
                        Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void initMyItemList(){
        // 先来20 条数据
        for(int i=0; i< 20; ++i){

//            MyItem myItem = new MyItem(
//                    // 根据资源id号，获得 drawable 资源
//                    getResources().getIdentifier("zsc",
//                            "drawable", getPackageName()),
//                    // 根据资源id号，获得 String 资源
//                    getResources().getIdentifier("title",
//                            "string",  getPackageName()));

            int image_id =  getResources().getIdentifier("zsc",
                    "drawable", getPackageName());
            if (i % 2 == 0){
                image_id = getResources().getIdentifier("cs",
                        "drawable", getPackageName());
            }

            int string_id = getResources().getIdentifier("title",
                    "string",  getPackageName());

            if (i % 2 == 0){
                string_id = getResources().getIdentifier("title1",
                        "string",  getPackageName());
            }
            if (i % 3 == 0){
                string_id = getResources().getIdentifier("title2",
                        "string",  getPackageName());
            }


            MyItem myItem = new MyItem( image_id, string_id);

            // 把每个单项数据，添加list里
            mMyItemList.add(myItem);
        }

    }
}